home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / fb386 / defgen / defgen06.bas < prev    next >
BASIC Source File  |  1993-11-30  |  43KB  |  1,119 lines

  1. 100 ' CATLOG.DEF GENERATOR
  2. 200 ' SAVE "DEFGEN06.BAS",A
  3. 300 '   Author -- Tomoya Andoh (JINX)-- NIFTY-Serve ID PED00201
  4. 400 '
  5. 500 ' Ver. 0-1  ---  Date 17 Jan.1993
  6. 510 ' Ver. 0-2  ---  Date 29 Jan.1993
  7. 520 ' Ver. 0-3  ---  Date  1 Feb.1993
  8. 530 ' Ver. 0-4  ---  Date 14 Feb.1993
  9. 540 ' Ver. 0-5  ---  Date 19 Feb.1993
  10. 542 ' Ver. 0-5a ---  Date 21 Feb.1993
  11. 544 ' Ver. 0-5b ---  Date 24 Feb.1993
  12. 550 ' Ver. 0-6  ---  Date  8 Mar.1993
  13. 552 ' Ver. 0-6a ---  Date 10 Aug.1993
  14. 600 '
  15. 700 '
  16. 800 '
  17. 1000 ON ERROR GOTO *エラーやで
  18. 1050 DEFINT A-Z
  19. 1100 DIM CMD$(100),MES$(100),DF$(100),MOT$(200),Y_N_FLAG(100),CMD_W$(100),JUN(100)
  20. 1150   VER$="v0.6a"
  21. 1200 SCREEN@ 2
  22. 1250   WIDTH 0,25
  23. 1300   WINDOW
  24. 1350   PALETTE
  25. 1400   CONSOLE 2,21,2
  26. 1450   GOSUB *パレット設定
  27. 1500   COLOR 7,%200,,0
  28. 1550   CLS
  29. 1600   GOSUB *開始画面設定
  30. 1650   GOSUB *パラメタリード
  31. 1700   GOSUB *コマンドリストREAD
  32. 1750   GOSUB *QUICK_SORT
  33. 1800   GOSUB *元DEFファイル読み込み
  34. 1850   GOSUB *強制サポートセット
  35. 1900 '  FOR I=0 TO 50:PRINT USING "###:@";I,DF$(I),:NEXT I:A$=INPUT$(1)
  36. 1950 '
  37. 2000 '文字定数定義
  38. 2050   TB$=CHR$(&H09)
  39. 2100 'マウス設定_0
  40. 2150   MOUSE 0
  41. 2200   MOUSE 4,5*8-2,1*19,75*8+2,24*19
  42. 2250   ON MOUSE(2) GOSUB *左クリック_0
  43. 2300   MOUSE(2) ON
  44. 2350 *LOOP_0
  45. 2400   LOCATE 18,22 : PRINT "マウス 左クリックで次にすすみます";
  46. 2450   WAIT 36
  47. 2500   LOCATE 18,22 : PRINT "                                 ";
  48. 2550   WAIT 12
  49. 2600   GOTO *LOOP_0
  50. 2650 *次頁
  51. 2700 'マウス設定_1
  52. 2750   ON MOUSE(2) GOSUB *左クリック
  53. 2800   ON MOUSE(4) GOSUB *右クリック
  54. 2850   MOUSE 1,10,10,1
  55. 2900   GOSUB *設定画面表示
  56. 2950   MOUSE(2) ON
  57. 3000   MOUSE(4) ON
  58. 3050 *LOOP : GOTO *LOOP
  59. 3100 *終了処理
  60. 3150   MOUSE 5
  61. 3200   IF R_CODE THEN
  62. 3250       GOSUB *更新処理
  63. 3300   ELSE
  64. 3350       GOSUB *中断処理
  65. 3400   ENDIF
  66. 3450   PALETTE
  67. 3500   PLAY OFF
  68. 3550   CONSOLE 0,25,0
  69. 3600   COLOR 7,0,7,0
  70. 3650   CLS
  71. 3700   END
  72. 3750 *左クリック
  73. 3800   MOUSE(2) OFF
  74. 3850   SX=MOUSE(0) : SY=MOUSE(1)
  75. 3900   WX=SX \ 8 : WY=SY \ 19
  76. 3950   PLAY "N"+STR$(WY+48)
  77. 4000 '  LOCATE 45,20 : PRINT USING "SX=#### SY=####  WX=#### WY=####";SX,SY,WX,WY
  78. 4050   IF PAGE>=101 THEN *左クリック_101
  79. 4100 'Y=1 終了処理 & HELP
  80. 4150   IF SY>=19 AND SY<=36 THEN
  81. 4200       IF SX>=502 AND SX<600 THEN R_CODE=-1 : RETURN *終了処理
  82. 4250       IF SX>=358 AND SX<=464 THEN R_CODE=0 : RETURN *終了処理
  83. 4300       IF SX>=38 AND SX<=112 THEN PAGE=101 : GOSUB *HELP0
  84. 4350   ENDIF
  85. 4400   IF PAGE=3 THEN *左クリック_2
  86. 4450   IF PAGE=101 THEN *左クリック_101
  87. 4500 'Y=3 入力
  88. 4550   IF SY>=57 AND SY<=74 THEN J=100 : GOSUB *キー入力
  89. 4600 'Y=4 出力
  90. 4650   IF SY>=76 AND SY<=93 THEN J=1 : GOSUB *キー入力
  91. 4700 'Y=5 TMP
  92. 4750   IF SY>=95 AND SY<=112 THEN
  93. 4800       J=3
  94. 4850       IF SX>=70 THEN GOSUB *キー入力
  95. 4900       IF SX<=64 THEN GOSUB *ON_OFF
  96. 4950   ENDIF
  97. 5000 'Y=7 検索
  98. 5050   IF SY>=133 AND SY<=150 THEN
  99. 5100       J=16
  100. 5150       IF SX>=70 THEN GOSUB *キー入力
  101. 5200       IF SX<=64 THEN GOSUB *ON_OFF
  102. 5250   ENDIF
  103. 5300 'Y=8 No検索
  104. 5350   IF SY>=152 AND SY<=169 THEN
  105. 5400       J=15
  106. 5450       IF SX>=70 THEN GOSUB *キー入力
  107. 5500       IF SX<=64 THEN GOSUB *ON_OFF
  108. 5550   ENDIF
  109. 5600 'Y=10 メッセージ出力
  110. 5650   IF SY>=190 AND SY<=207 THEN
  111. 5700       J=0
  112. 5750       IF SX>=70 THEN GOSUB *キー入力
  113. 5800       IF SX<=64 THEN GOSUB *ON_OFF
  114. 5850   ENDIF
  115. 5900 'Y=12 TMPO-SIZE
  116. 5950   IF SY>=228 AND SY<=245 THEN
  117. 6000       J=17
  118. 6050       IF SX>=70 THEN GOSUB *キー入力
  119. 6100       IF SX<=64 THEN GOSUB *ON_OFF
  120. 6150   ENDIF
  121. 6200 'Y=13 MOJI-SIZE
  122. 6250   IF SY>=247 AND SY<=264 THEN
  123. 6300       J=36
  124. 6350       IF SX>=70 THEN GOSUB *キー入力
  125. 6400       IF SX<=64 THEN GOSUB *ON_OFF
  126. 6450   ENDIF
  127. 6500 'Y=15 インデックスモード
  128. 6550   IF SY>=285 AND SY<=302 THEN
  129. 6600       J=2
  130. 6650       IF DF$(2)=":2" AND SX>=190 AND SX<=288 THEN
  131. 6700            DF$(2)=":1" : GOSUB *SW2
  132. 6750       ENDIF
  133. 6800       IF DF$(2)=":1" AND SX>=294 AND SX<=392 THEN
  134. 6850            DF$(2)=":2" : GOSUB *SW2
  135. 6900       ENDIF
  136. 6950   ENDIF
  137. 7000 'Y=16 メールの扱い
  138. 7050   IF SY>=304 AND SY<=321 THEN
  139. 7100       J=4
  140. 7150       IF Y_N_FLAG(J)=0 AND SX>=294 AND SX<=328 THEN GOSUB *オプション選択
  141. 7200       IF Y_N_FLAG(J)=1 AND SX>=334 AND SX<=384 THEN GOSUB *オプション選択
  142. 7250   ENDIF
  143. 7300 'Y=17 新ファイル作成条件
  144. 7350   IF SY>=327 AND SY<=340 THEN
  145. 7400       IF SX>=214 AND SX<=320 THEN J=37 : GOSUB *オプション選択
  146. 7450       IF SX>=334 AND SX<=480 THEN J=38 : GOSUB *オプション選択
  147. 7500       IF SX>=494 AND SX<=608 THEN J=50 : GOSUB *オプション選択
  148. 7550   ENDIF
  149. 7600 'Y=19 オプション
  150. 7650   IF SY>=361 AND SY<=378 THEN
  151. 7700       IF SX>=38 AND SX<=328 THEN J=32 : GOSUB *オプション選択
  152. 7750   ENDIF
  153. 7800 'Y=20 オプション
  154. 7850   IF SY>=380 AND SY<=397 THEN
  155. 7900       IF SX>=38 AND SX<=328 THEN J=39 : GOSUB *オプション選択
  156. 7950       IF SX>=358 AND SX<=552 THEN J=29 : GOSUB *オプション選択
  157. 8000   ENDIF
  158. 8050 'Y=21 オプション
  159. 8100   IF SY>=399 AND SY<=416 THEN
  160. 8150       IF SX>=38 AND SX<=200 THEN J=20 : GOSUB *オプション選択
  161. 8200       IF SX>=214 AND SX<=376 THEN J=22 : GOSUB *オプション選択
  162. 8250       IF SX>=390 AND SX<=552 THEN J=24 : GOSUB *オプション選択
  163. 8300   ENDIF
  164. 8350 'Y=22 オプション & 次頁
  165. 8400   IF SY>=418 AND SY<=435 THEN
  166. 8450       IF SX>=38 AND SX<=200 THEN J=21 : GOSUB *オプション選択
  167. 8500       IF SX>=214 AND SX<=376 THEN J=23 : GOSUB *オプション選択
  168. 8550       IF SX>=390 AND SX<=552 THEN J=25 : GOSUB *オプション選択
  169. 8600       IF SX>=566 THEN PAGE=3 : GOSUB *設定画面2
  170. 8650   ENDIF
  171. 8700   MOUSE(2) ON
  172. 8750   RETURN
  173. 8800 *左クリック_2
  174. 8850 'Y=3 中断 & 続行
  175. 8900   IF SY>=57 AND SY<=74 THEN
  176. 8950       IF SX>=38 AND SX<=312 THEN
  177. 9000           IF Y_N_FLAG(7)=0 AND Y_N_FLAG(8)=1 THEN
  178. 9050               J=8 : GOSUB *オプション選択
  179. 9100           ENDIF
  180. 9150           J=7 : GOSUB *オプション選択
  181. 9200       ENDIF
  182. 9250       IF SX>=326 AND SX<=600 THEN
  183. 9300           IF Y_N_FLAG(7)=1 AND Y_N_FLAG(8)=0 THEN
  184. 9350               J=7 : GOSUB *オプション選択
  185. 9400           ENDIF
  186. 9450           J=8 : GOSUB *オプション選択
  187. 9500       ENDIF
  188. 9550   ENDIF
  189. 9600 'Y=4 All_Yes,All_No & All引用
  190. 9650   IF SY>=76 AND SY<=93 THEN
  191. 9700       IF SX>=38 AND SX<=224 THEN
  192. 9750           IF Y_N_FLAG(9)=0 AND Y_N_FLAG(10)=1 THEN
  193. 9800               J=10 : GOSUB *オプション選択
  194. 9850           ENDIF
  195. 9900           J=9 : GOSUB *オプション選択
  196. 9950       ENDIF
  197. 10000       IF SX>=238 AND SX<=416 THEN
  198. 10050           IF Y_N_FLAG(9)=1 AND Y_N_FLAG(10)=0 THEN
  199. 10100               J=9 : GOSUB *オプション選択
  200. 10150           ENDIF
  201. 10200           J=10 : GOSUB *オプション選択
  202. 10250       ENDIF
  203. 10300       IF SX>=430 AND SX<=600 THEN J=26 : GOSUB *オプション選択
  204. 10350   ENDIF
  205. 10400 'Y=5 DON作らない,静かに,だまれ
  206. 10450   IF SY>=95 AND SY<=112 THEN
  207. 10500       IF SX>=38 AND SX<=216 THEN J=13 : GOSUB *オプション選択
  208. 10550       IF SX>=230 AND SX<=408 THEN J=5 : GOSUB *オプション選択
  209. 10600       IF SX>=422 AND SX<=600 THEN J=6 : GOSUB *オプション選択
  210. 10650   ENDIF
  211. 10700 'Y=7 全ファイル検索
  212. 10750   IF SY>=133 AND SY<=150 THEN J=14 : GOSUB *オプション選択
  213. 10800 'Y=8 サブディレクトリ内無視
  214. 10850   IF SY>=152 AND SY<=169 THEN J=30 : GOSUB *オプション選択
  215. 10900 'Y=10 yymmdd以降&以前収集
  216. 10950   IF SY>=190 AND SY<=207 THEN
  217. 11000       IF SX<=64 THEN J=18 : GOSUB *ON_OFF
  218. 11050       IF SX>=70 AND SX<=312 THEN J=18 : GOSUB *キー入力
  219. 11100       IF SX>=326 AND SX<=352 THEN J=19 : GOSUB *ON_OFF
  220. 11150       IF SX>=358 AND SX<=600 THEN J=19 : GOSUB *キー入力
  221. 11200   ENDIF
  222. 11250 'Y=11 ID収集
  223. 11300   IF SY>=209 AND SY<=226 THEN
  224. 11350       J=35
  225. 11400       IF SX<=64 THEN GOSUB *ON_OFF
  226. 11450       IF SX>=70 THEN GOSUB *キー入力
  227. 11500   ENDIF
  228. 11550 'Y=12 整理済ログからID収集
  229. 11600   IF SY>=228 AND SY<=245 THEN
  230. 11650       J=46
  231. 11700       IF SX<=64 THEN GOSUB *ON_OFF
  232. 11750       IF SX>=70 THEN GOSUB *キー入力
  233. 11800   ENDIF
  234. 11850 'Y=14 今日より古いファイルの削除,フォーラムトップライン削除
  235. 11900   IF SY>=266 AND SY<=283 THEN
  236. 11950       IF SX>=38 AND SX<=312 THEN J=27 : GOSUB *オプション選択
  237. 12000       IF SX>=326 AND SX<=600 THEN J=40 : GOSUB *オプション選択
  238. 12050   ENDIF
  239. 12100 'Y=15 削除した発言の表題を表示
  240. 12150   IF SY>=285 AND SY<=302 THEN
  241. 12200       IF SX>=38 AND SX<=312 THEN J=41 : GOSUB *オプション選択
  242. 12250   ENDIF
  243. 12300 'Y=16 削除から除くファイル名
  244. 12350   IF SY>=304 AND SY<=321 THEN
  245. 12400       J=28
  246. 12450       IF SX<=64 THEN GOSUB *ON_OFF
  247. 12500       IF SX>=70 THEN GOSUB *キー入力
  248. 12550   ENDIF
  249. 12600 'Y=18 凍結しながら実行,ログ表示しながら実行
  250. 12650   IF SY>=342 AND SY<=359 THEN
  251. 12700       IF SX>=38 AND SX<=328 THEN J=33 : GOSUB *オプション選択
  252. 12750       IF SX>=342 AND SX<=600 THEN J=31 : GOSUB *オプション選択
  253. 12800   ENDIF
  254. 12850 'Y=19 CATLOG生成ファイルからインデックス作成,ID/ハンドル対応ファイル作成
  255. 12900   IF SY>=361 AND SY<=378 THEN
  256. 12950       IF SX>=38 AND SX<=328 THEN J=44 : GOSUB *オプション選択
  257. 13000       IF SX>=342 AND SX<=600 THEN J=45 : GOSUB *オプション選択
  258. 13050   ENDIF
  259. 13100 'Y=20 ファイルと会議室対応ファイル作成
  260. 13150   IF SY>=380 AND SY<=397 THEN
  261. 13200       J=43
  262. 13250       IF SX<=64 THEN GOSUB *ON_OFF
  263. 13300       IF SX>=70 THEN GOSUB *キー入力
  264. 13350   ENDIF
  265. 13400 'Y=21 DL出力ドライブ・ディレクトリ
  266. 13450   IF SY>=399 AND SY<=416 THEN
  267. 13500       J=42
  268. 13550       IF SX<=64 THEN GOSUB *ON_OFF
  269. 13600       IF SX>=70 THEN GOSUB *キー入力
  270. 13650   ENDIF
  271. 13700 'Y=22 Re-sort,前頁
  272. 13750   IF SY>=418 AND SY<=435 THEN
  273. 13800       J=47
  274. 13850       IF SX<=64 THEN GOSUB *ON_OFF
  275. 13900       IF SX>=38 AND SX<=312 THEN J=48 : GOSUB *オプション選択
  276. 13950       IF SX>=566 THEN
  277. 14000           PAGE=2
  278. 14050           GOSUB *設定画面1
  279. 14100       ENDIF
  280. 14150   ENDIF
  281. 14200   MOUSE(2) ON
  282. 14250   RETURN
  283. 14300 *左クリック_101
  284. 14350   ON MOUSE(4) GOSUB *次頁
  285. 14400   MOUSE(4) ON
  286. 14450   IF SY>=57 AND SY<=19*(3+((100-C_ST) \ 4))+17 THEN
  287. 14500       I=-1
  288. 14550       IF SX<=152 THEN I=0
  289. 14600       IF SX>=158 AND SX<=312 THEN I=1
  290. 14650       IF SX>=318 AND SX<=472 THEN I=2
  291. 14700       IF SX>=480 THEN I=3
  292. 14750       IF I<>-1 THEN
  293. 14800           HLP=4*((SY \ 19)-3)+I
  294. 14850           GOSUB *HELP1
  295. 14900       ENDIF
  296. 14950   ENDIF
  297. 15000   MOUSE(2) ON
  298. 15050   RETURN
  299. 15100 *右クリック
  300. 15150   R_CODE=0
  301. 15200   RETURN *終了処理
  302. 15250 *左クリック_0
  303. 15300   MOUSE(2) OFF
  304. 15350   PAGE=PAGE+1
  305. 15400   RETURN *次頁
  306. 15450 *オプション選択
  307. 15500   GOSUB *設定変更
  308. 15550   GOSUB *DISP_COM
  309. 15600   RETURN
  310. 15650 *ON_OFF
  311. 15700   IF Y_N_FLAG(J)=1 THEN Y_N_FLAG(J)=0 ELSE Y_N_FLAG(J)=1
  312. 15750   GOSUB *DISP_COM
  313. 15800   RETURN
  314. 15850 *設定変更
  315. 15900   IF DF$(J)="yes" THEN
  316. 15950         DF$(J)="no"
  317. 16000         Y_N_FLAG(J)=0
  318. 16050   ELSE
  319. 16100         DF$(J)="yes"
  320. 16150         Y_N_FLAG(J)=1
  321. 16200   ENDIF
  322. 16250   RETURN
  323. 16300 *DISP_COM
  324. 16350   IF J=100 THEN GOSUB *SW100 : RETURN
  325. 16400   IF J<=30 THEN 16450 ELSE 16550
  326. 16450   ON J+1 GOSUB *SW0,*SW1,*SW2,*SW3,*SW4,*SW5,*SW6,*SW7,*SW8,*SW9,*SW10,*SW11,*SW12,*SW13,*SW14,*SW15,*SW16,*SW17,*SW18,*SW19,*SW20,*SW21,*SW22,*SW23,*SW24,*SW25,*SW26,*SW27,*SW28,*SW29,*SW30
  327. 16500   RETURN
  328. 16550   ON J-30 GOSUB *SW31,*SW32,*SW33,*SW34,*SW35,*SW36,*SW37,*SW38,*SW39,*SW40,*SW41,*SW42,*SW43,*SW44,*SW45,*SW46,*SW47,*SW48,*SW49,*SW50,*SW51,*SW52,*SW53,*SW54,*SW55,*SW56,*SW57,*SW58,*SW59,*SW60
  329. 16600   RETURN
  330. 16650 *キー入力
  331. 16700   GOSUB *キー入力1
  332. 16750   GOSUB *DISP_COM
  333. 16800   RETURN
  334. 16850 *キー入力1
  335. 16900   LOCATE 0,23:PRINT KACNV$(RIGHT$(MES$(J),LEN(MES$(J))-2));"  ";
  336. 16950       X=0:Y=23:M=79:C=205:GOSUB *ボックス
  337. 17000   LINE INPUT DUMMY$
  338. 17050   IF DUMMY$<>"" THEN
  339. 17100       DF$(J)=":"+DUMMY$
  340. 17150   ENDIF
  341. 17200   RETURN
  342. 17250 *設定画面表示
  343. 17300   CLS 1 : CLS 3
  344. 17350   LOCATE 0,1 : PRINT SPC(78);
  345. 17400   LOCATE 63, 1 : PRINT "更新して終了";
  346. 17450   LOCATE 45, 1 : PRINT "更新せずに終了";
  347. 17500     X=63:Y=1:M=12:C=203:GOSUB *ボックス
  348. 17550     X=45:Y=1:M=14:C=204:GOSUB *ボックス
  349. 17600   LOCATE  5, 1 : : PRINT "HELP!";
  350. 17650     X=5:Y=1:M=10:C=204:GOSUB *ボックス
  351. 17700 *設定画面1
  352. 17750   CLS 1 : PAGE=2
  353. 17800   COLOR 7,%200,,4
  354. 17850     LOCATE  2, 2 : PRINT "ドライブ,ディレクトリを指定してください。"
  355. 17900     WY=3 : GOSUB *SW100
  356. 17950     WY=4 : GOSUB *SW1
  357. 18000     WY=5 : GOSUB *SW3
  358. 18050     LOCATE  2, 6 : PRINT "ファイルを指定してください。(ワイルドカード使用可)"
  359. 18100     WY=7 : GOSUB *SW16
  360. 18150     WY=8 : GOSUB *SW15
  361. 18200     LOCATE  2, 9 : PRINT "メッセージ出力先をフルパスで指定してください。"
  362. 18250     WY=10 : GOSUB *SW0
  363. 18300     LOCATE  2,11 : PRINT "ファイルサイズ指定オプション(1Kバイト単位で指定)"
  364. 18350     WY=12 : GOSUB *SW17
  365. 18400     WY=13 : GOSUB *SW36
  366. 18450     LOCATE  2,14 : PRINT "処理内容を選択してください。"
  367. 18500     WY=15 : GOSUB *SW2
  368. 18550     WY=16 : GOSUB *SW4
  369. 18600     WY=17 : GOSUB *SW37 : GOSUB *SW38 : GOSUB *SW50
  370. 18650     LOCATE  2,18 : PRINT "オプションを選択してください。"
  371. 18700     WY=19 : GOSUB *SW32
  372. 18750     WY=20 : GOSUB *SW39 : GOSUB *SW29
  373. 18800     WY=21 : GOSUB *SW20 : GOSUB *SW22 : GOSUB *SW24
  374. 18850     WY=22 : GOSUB *SW21 : GOSUB *SW23 : GOSUB *SW25
  375. 18900     LOCATE 71,22 : PRINT "次頁";
  376. 18950       X=71:Y=22:M=4:C=204:GOSUB *ボックス
  377. 19000   COLOR 7,%200,,0
  378. 19050   RETURN
  379. 19100 *設定画面2
  380. 19150   CLS 1 : PAGE=3
  381. 19200   COLOR 3,%200,,4
  382. 19250     LOCATE  2, 2 : PRINT "この頁のオプション設定はCATLOGのマニュアルをよく読んで理解した上でやってね。(^^)"
  383. 19300   COLOR 7,%200,,4
  384. 19350     WY=3 : GOSUB *SW7 : GOSUB *SW8
  385. 19400     WY=4 : GOSUB *SW9 : GOSUB *SW10 : GOSUB *SW26
  386. 19450     WY=5 : GOSUB *SW13 : GOSUB *SW5 : GOSUB *SW6
  387. 19500     LOCATE  2, 6 : PRINT "検索系オプション"
  388. 19550     WY=7 : GOSUB *SW14
  389. 19600     WY=8 : GOSUB *SW30
  390. 19650     LOCATE  2, 9 : PRINT "収集系オプション(日付入力はyy年mm月dd日をyymmddの形式で入力する)"
  391. 19700     WY=10 : GOSUB *SW18 : GOSUB *SW19
  392. 19750     WY=11 : GOSUB *SW35
  393. 19800     WY=12 : GOSUB *SW46
  394. 19850     LOCATE  2,13 : PRINT "削除系オプション <★DANGER★>"
  395. 19900     WY=14 : GOSUB *SW27 : GOSUB *SW40
  396. 19950     WY=15 : GOSUB *SW41
  397. 20000     WY=16 : GOSUB *SW28
  398. 20050     LOCATE  2,17 : PRINT "その他のオプション"
  399. 20100     WY=18 : GOSUB *SW33 : GOSUB *SW31
  400. 20150     WY=19 : GOSUB *SW44 : GOSUB *SW45
  401. 20200     WY=20 : GOSUB *SW43
  402. 20250     WY=21 : GOSUB *SW42
  403. 20300     WY=22 : GOSUB *SW48
  404. 20350     LOCATE 71,22 : PRINT "前頁";
  405. 20400       X=71:Y=22:M=4:C=204:GOSUB *ボックス
  406. 20450   COLOR 7,%200,,0
  407. 20500   RETURN
  408. 20550 *HELP0
  409. 20600   ON MOUSE(4) GOSUB *次頁
  410. 20650   MOUSE(4) ON
  411. 20700   CLS 1 : PAGE=101
  412. 20750   LOCATE 0, 1 : PRINT "  HELP表示 OPTIONS.DOCを利用しています    右クリックで設定画面に戻ります";
  413. 20800   X=2:Y=1:M=75:C=203:GOSUB *ボックス
  414. 20850   LOCATE 5, 2 : PRINT "表示したいスイッチにマウスカーソルを合わせ左クリックしてください"
  415. 20900   IF CMD_W$(0)<>"" THEN
  416. 20950       C_ST=0 : FLAG=0
  417. 21000   ELSE
  418. 21050       FLAG=-1
  419. 21100   ENDIF
  420. 21150   FOR I=0 TO 100
  421. 21200       IF FLAG AND CMD_W$(I)<>"" THEN C_ST=I : FLAG=0
  422. 21250       IF CMD_W$(I)<>"" THEN
  423. 21300           X=20*((I-C_ST) MOD 4):Y=3+((I-C_ST) \ 4)
  424. 21350           LOCATE X,Y : PRINT USING "&                 &";CMD_W$(I);
  425. 21400           M=19:C=204:GOSUB *ボックス
  426. 21450       ENDIF
  427. 21500   NEXT I
  428. 21550   RETURN
  429. 21600 *HELP1
  430. 21650   ON MOUSE(4) GOSUB *HELP0
  431. 21700   MOUSE(4) ON
  432. 21750   CLS 1 : PAGE=102
  433. 21800   LOCATE 0, 1 : PRINT "  HELP表示 OPTIONS.DOCを利用しています    右クリックで前画面に戻ります  ";
  434. 21850   X=2:Y=1:M=75:C=203:GOSUB *ボックス
  435. 21900   OPEN ".\OPTIONSJ.DOC" FOR INPUT AS #1
  436. 21950   LINE INPUT #1,A$
  437. 22000   LOCATE 1,4:PRINT CMD_W$(HLP+C_ST);MES$(JUN(HLP+C_ST))
  438. 22050   IF LEFT$(A$,1)=";" THEN
  439. 22100       A$=RIGHT$(A$,LEN(A$)-1) : P0=INSTR(A$,":") : P1=INSTR(A$,";")
  440. 22150       IF P1<>0 AND P1<P0 THEN P0=0
  441. 22200       IF P0<>0 THEN
  442. 22250           IF LEFT$(A$,P0-1)=CMD_W$(HLP+C_ST) THEN 22800
  443. 22300       ELSE
  444. 22350           IF P1=0 THEN
  445. 22400               IF A$=CMD_W$(HLP+C_ST) THEN 22800
  446. 22450           ELSE
  447. 22500               IF LEFT$(A$,P1-1)=CMD_W$(HLP+C_ST) THEN 22800
  448. 22550           ENDIF
  449. 22600       ENDIF
  450. 22650   ENDIF
  451. 22700   LINE INPUT #1,A$
  452. 22750   GOTO 22050
  453. 22800   LOCATE 1,4:PRINT CHR$(&H1B);"[0K";A$
  454. 22850   LINE INPUT #1,A$
  455. 22900   WHILE KLEFT$(A$,1)<>"☆"
  456. 22950       LINE INPUT #1,A$
  457. 23000   WEND
  458. 23050   WHILE KLEFT$(A$,1)<>"★"
  459. 23100       LINE INPUT #1,A$
  460. 23150       IF KLEFT$(A$,1)<>"★" THEN PRINT "  ";A$
  461. 23200   WEND
  462. 23250   CLOSE #1
  463. 23300   BEEP
  464. 23350   RETURN
  465. 23400 *SW100
  466. 23450       X=5:Y=WY:M=70:      GOSUB *ボックス_P
  467. 23500     LOCATE  5,WY : PRINT "入力ドライブ:ディレクトリ";DF$(100)
  468. 23550                     C=205:GOSUB *ボックス
  469. 23600     RETURN
  470. 23650 *SW1
  471. 23700       X=5:Y=WY:M=70:      GOSUB *ボックス_P
  472. 23750     LOCATE  5,WY : PRINT "出力ドライブ:ディレクトリ";DF$(1)
  473. 23800                     C=205:GOSUB *ボックス
  474. 23850     RETURN
  475. 23900 *SW3
  476. 23950       X=5:Y=WY:M=3:       GOSUB *ボックス_P
  477. 24000       X=9:     M=66:      GOSUB *ボックス_P
  478. 24050     IF Y_N_FLAG(3)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  479. 24100     LOCATE  5,WY : PRINT DUM$;" 作業ドライブ:ディレクトリ";DF$(3)
  480. 24150       X=5:     M=3:C=CL:  GOSUB *ボックス
  481. 24200       X=9:     M=66:C=206:GOSUB *ボックス
  482. 24250     RETURN
  483. 24300 *SW16
  484. 24350       X=5:Y=WY:M=3:       GOSUB *ボックス_P
  485. 24400       X=9:     M=66:      GOSUB *ボックス_P
  486. 24450     IF Y_N_FLAG(16)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  487. 24500     LOCATE  5,WY : PRINT DUM$;" 検索するファイル";DF$(16)
  488. 24550       X=5:     M=3:C=CL:  GOSUB *ボックス
  489. 24600       X=9:     M=66:C=206:GOSUB *ボックス
  490. 24650     RETURN
  491. 24700 *SW15
  492. 24750       X=5:Y=WY:M=3:       GOSUB *ボックス_P
  493. 24800       X=9:     M=66:      GOSUB *ボックス_P
  494. 24850     IF Y_N_FLAG(15)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  495. 24900     LOCATE  5,WY : PRINT DUM$;" 検索しないファイル";DF$(15)
  496. 24950       X=5:     M=3:C=CL:  GOSUB *ボックス
  497. 25000       X=9:     M=66:C=CL: GOSUB *ボックス
  498. 25050     RETURN
  499. 25100 *SW0
  500. 25150   COLOR 6,%200,,4
  501. 25200       X=5:Y=WY:M=3:       GOSUB *ボックス_P
  502. 25250       X=9:     M=66:      GOSUB *ボックス_P
  503. 25300     IF Y_N_FLAG(0)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  504. 25350     LOCATE  5,WY : PRINT DUM$;" メッセージ出力ファイル名";DF$(0)
  505. 25400       X=5:     M=3:C=CL:  GOSUB *ボックス
  506. 25450       X=9:     M=66:C=206:GOSUB *ボックス
  507. 25500   COLOR 7,%200,,4
  508. 25550     RETURN
  509. 25600 *SW2
  510. 25650       X=24:Y=WY:M=12:     GOSUB *ボックス_P
  511. 25700       X=37:     M=12:     GOSUB *ボックス_P
  512. 25750   COLOR 6,%200,,4
  513. 25800     LOCATE  5,WY : PRINT "インデックスモード";
  514. 25850   COLOR 7,%200,,4
  515. 25900     PRINT " 全体でひとつ フォーラム毎"
  516. 25950      IF DF$(2)=":1" THEN CL=207:CE=202 ELSE CL=202:CE=207
  517. 26000       X=24:     M=12:C=CL:GOSUB *ボックス
  518. 26050       X=37:     M=12:C=CE:GOSUB *ボックス
  519. 26100     RETURN
  520. 26150 *SW4
  521. 26200       X=37:Y=WY:M=4:      GOSUB *ボックス_P
  522. 26250       X=42:     M=6:      GOSUB *ボックス_P
  523. 26300   COLOR 6,%200,,4
  524. 26350     LOCATE  5,WY : PRINT "メールはひとつのファイルで処理";
  525. 26400   COLOR 7,%200,,4
  526. 26450     PRINT "  する しない"
  527. 26500       IF Y_N_FLAG(4)=1 THEN CL=207:CE=202 ELSE CL=202:CE=207
  528. 26550       X=37:     M=4:C=CL: GOSUB *ボックス
  529. 26600       X=42:     M=6:C=CE: GOSUB *ボックス
  530. 26650     RETURN
  531. 26700 *SW37
  532. 26750   COLOR 6,%200,,4
  533. 26800     LOCATE  5,WY : PRINT "新ファイルを作るのは";
  534. 26850   COLOR 7,%200,,4
  535. 26900       X=27:Y=WY:M=13:      GOSUB *ボックス_P
  536. 26950     LOCATE  28,WY : PRINT "発言番号001"
  537. 27000      IF Y_N_FLAG(37)=1 THEN CL=207 ELSE CL=202
  538. 27050                     C=CL: GOSUB *ボックス
  539. 27100     RETURN
  540. 27150 *SW38
  541. 27200       X=42:Y=WY:M=18:     GOSUB *ボックス_P
  542. 27250     LOCATE 42,WY : PRINT "より小さな発言番号"
  543. 27300      IF Y_N_FLAG(38)=1 THEN CE=207 ELSE CE=202
  544. 27350                     C=CE: GOSUB *ボックス
  545. 27400     RETURN
  546. 27450 *SW50
  547. 27500       X=62:Y=WY:M=13:     GOSUB *ボックス_P
  548. 27550     LOCATE 63,WY : PRINT "発言番号x01"
  549. 27600      IF Y_N_FLAG(50)=1 THEN CE=207 ELSE CE=202
  550. 27650                     C=CE: GOSUB *ボックス
  551. 27700     RETURN
  552. 27750 *SW32
  553. 27800       X=5:Y=WY:M=36:      GOSUB *ボックス_P
  554. 27850     LOCATE  5,WY : PRINT "LHA圧縮ファイルを解凍しながら実行"
  555. 27900      IF Y_N_FLAG(32)=1 THEN CL=207 ELSE CL=202
  556. 27950                      C=CL:GOSUB *ボックス
  557. 28000     RETURN
  558. 28050 *SW20
  559. 28100       X=5:Y=WY:M=20:      GOSUB *ボックス_P
  560. 28150     LOCATE  X,WY : PRINT "HPは整理しない";
  561. 28200      IF Y_N_FLAG(20)=1 THEN CL=207 ELSE CL=202
  562. 28250                      C=CL:GOSUB *ボックス
  563. 28300     RETURN
  564. 28350 *SW21
  565. 28400       X=5:Y=WY:M=20:      GOSUB *ボックス_P
  566. 28450     LOCATE  X,WY : PRINT "PATIOは整理しない";
  567. 28500      IF Y_N_FLAG(21)=1 THEN CL=207 ELSE CL=202
  568. 28550                      C=CL:GOSUB *ボックス
  569. 28600     RETURN
  570. 28650 *SW22
  571. 28700       X=27:Y=WY:M=20:     GOSUB *ボックス_P
  572. 28750     LOCATE  X,WY : PRINT "会議室は整理しない";
  573. 28800      IF Y_N_FLAG(22)=1 THEN CL=207 ELSE CL=202
  574. 28850                      C=CL:GOSUB *ボックス
  575. 28900     RETURN
  576. 28950 *SW23
  577. 29000       X=27:Y=WY:M=20:      GOSUB *ボックス_P
  578. 29050     LOCATE X,WY : PRINT "MAILは整理しない";
  579. 29100      IF Y_N_FLAG(23)=1 THEN CL=207 ELSE CL=202
  580. 29150                      C=CL:GOSUB *ボックス
  581. 29200     RETURN
  582. 29250 *SW24
  583. 29300       X=49:Y=WY:M=20:      GOSUB *ボックス_P
  584. 29350     LOCATE X,WY : PRINT "LIBは整理しない";
  585. 29400      IF Y_N_FLAG(24)=1 THEN CL=207 ELSE CL=202
  586. 29450                      C=CL:GOSUB *ボックス
  587. 29500     RETURN
  588. 29550 *SW25
  589. 29600       X=49:Y=WY:M=20:      GOSUB *ボックス_P
  590. 29650     LOCATE X,WY : PRINT "BILLは整理しない";
  591. 29700      IF Y_N_FLAG(25)=1 THEN CL=207 ELSE CL=202
  592. 29750                      C=CL:GOSUB *ボックス
  593. 29800     RETURN
  594. 29850 *SW39
  595. 29900       X=5:Y=WY:M=36:      GOSUB *ボックス_P
  596. 29950     LOCATE 5,WY : PRINT "「*****log整理」を入れない";
  597. 30000      IF Y_N_FLAG(39)=1 THEN CL=207 ELSE CL=202
  598. 30050                      C=CL:GOSUB *ボックス
  599. 30100     RETURN
  600. 30150 *SW7
  601. 30200       X=5:Y=WY:M=34:      GOSUB *ボックス_P
  602. 30250     IF Y_N_FLAG(7)=1 THEN CL=207 ELSE CL=202
  603. 30300     LOCATE  5,WY : PRINT "処理を第2段階で中断する"
  604. 30350                      C=CL:GOSUB *ボックス
  605. 30400     RETURN
  606. 30450 *SW8
  607. 30500       X=41:Y=WY:M=34:     GOSUB *ボックス_P
  608. 30550     IF Y_N_FLAG(8)=1 THEN CE=207 ELSE CE=202
  609. 30600     LOCATE 41,WY : PRINT "中断した処理を続行する"
  610. 30650                      C=CE:GOSUB *ボックス
  611. 30700     RETURN
  612. 30750 *SW9
  613. 30800       X=5:Y=WY:M=23:      GOSUB *ボックス_P
  614. 30850     IF Y_N_FLAG(9)=1 THEN CL=207 ELSE CL=202
  615. 30900     LOCATE  5,WY : PRINT "全ての質問にYESと答える"
  616. 30950                      C=CL:GOSUB *ボックス
  617. 31000     RETURN
  618. 31050 *SW10
  619. 31100       X=30:Y=WY:M=22:     GOSUB *ボックス_P
  620. 31150     IF Y_N_FLAG(10)=1 THEN CE=207 ELSE CE=202
  621. 31200     LOCATE 30,WY : PRINT "全ての質問にNOと答える"
  622. 31250                      C=CE:GOSUB *ボックス
  623. 31300     RETURN
  624. 31350 *SW26
  625. 31400       X=54:Y=WY:M=21:      GOSUB *ボックス_P
  626. 31450     IF Y_N_FLAG(26)=1 THEN CL=207 ELSE CL=202
  627. 31500     LOCATE 54,WY : PRINT "全部引用発言とする"
  628. 31550                      C=CL:GOSUB *ボックス
  629. 31600     RETURN
  630. 31650 *SW13
  631. 31700       X=5:Y=WY:M=22:      GOSUB *ボックス_P
  632. 31750     IF Y_N_FLAG(13)=1 THEN CL=207 ELSE CL=202
  633. 31800     LOCATE  5,WY : PRINT "CATLOG.DONを作らない"
  634. 31850                      C=CL:GOSUB *ボックス
  635. 31900     RETURN
  636. 31950 *SW5
  637. 32000       X=29:Y=WY:M=22:     GOSUB *ボックス_P
  638. 32050     IF Y_N_FLAG(5)=1 THEN CE=207 ELSE CE=202
  639. 32100     LOCATE 29,WY : PRINT "静かに モード"
  640. 32150                      C=CE:GOSUB *ボックス
  641. 32200     RETURN
  642. 32250 *SW6
  643. 32300       X=53:Y=WY:M=22:     GOSUB *ボックス_P
  644. 32350     IF Y_N_FLAG(6)=1 THEN CQ=207 ELSE CQ=202
  645. 32400     LOCATE 53,WY : PRINT "だまれ モード"
  646. 32450                      C=CQ:GOSUB *ボックス
  647. 32500     RETURN
  648. 32550 *SW14
  649. 32600       X=5:Y=WY:M=70:      GOSUB *ボックス_P
  650. 32650     IF Y_N_FLAG(14)=1 THEN CL=207 ELSE CL=202
  651. 32700     LOCATE  5,WY : PRINT "全ファイルを検索対象とする(前頁のオプションより優先します)遅くなるよ(^^;)"
  652. 32750                      C=CL:GOSUB *ボックス
  653. 32800     RETURN
  654. 32850 *SW30
  655. 32900       X=5:Y=WY:M=70:      GOSUB *ボックス_P
  656. 32950     IF Y_N_FLAG(30)=1 THEN CL=207 ELSE CL=202
  657. 33000     LOCATE  5,WY : PRINT "サブ・ディレクトリの検索をおこなわない"
  658. 33050                      C=CL:GOSUB *ボックス
  659. 33100     RETURN
  660. 33150 *SW18
  661. 33200       X=5:Y=WY:M=3 :      GOSUB *ボックス_P
  662. 33250       X=9:     M=30:      GOSUB *ボックス_P
  663. 33300     IF Y_N_FLAG(18)=1 THEN DUM$="ON " : CL=207 ELSE DUM$="OFF" : CL=202
  664. 33350     LOCATE  5,WY : PRINT USING "& & &&年&&月&&日以降の発言収集";DUM$,MID$(DF$(18),2,2),MID$(DF$(18),4,2),MID$(DF$(18),6,2)
  665. 33400       X=5:     M=3 :C=CL: GOSUB *ボックス
  666. 33450       X=9:     M=30:      GOSUB *ボックス
  667. 33500    RETURN
  668. 33550 *SW19
  669. 33600       X=41:Y=WY:M=3 :     GOSUB *ボックス_P
  670. 33650       X=45:     M=30:     GOSUB *ボックス_P
  671. 33700     IF Y_N_FLAG(19)=1 THEN DUM$="ON " : CL=207 ELSE DUM$="OFF" : CL=202
  672. 33750     LOCATE 41,WY : PRINT USING "& & &&年&&月&&日以前の発言収集";DUM$,MID$(DF$(19),2,2),MID$(DF$(19),4,2),MID$(DF$(19),6,2)
  673. 33800       X=41:     M=3 :C=CL:GOSUB *ボックス
  674. 33850       X=45:     M=30:     GOSUB *ボックス
  675. 33900    RETURN
  676. 33950 *SW35
  677. 34000       X=5:Y=WY:M=3 :      GOSUB *ボックス_P
  678. 34050       X=9:     M=66:      GOSUB *ボックス_P
  679. 34100     IF Y_N_FLAG(35)=1 THEN DUM$="ON " : CL=207 ELSE DUM$="OFF" : CL=202
  680. 34150     LOCATE  5,WY : PRINT DUM$;" IDの発言収集(複数指定可)";DF$(35)
  681. 34200       X=5:     M=3 :C=CL: GOSUB *ボックス
  682. 34250       X=9:     M=66:      GOSUB *ボックス
  683. 34300    RETURN
  684. 34350 *SW46
  685. 34400       X=5:Y=WY:M=3 :      GOSUB *ボックス_P
  686. 34450       X=9:     M=66:      GOSUB *ボックス_P
  687. 34500     IF Y_N_FLAG(46)=1 THEN DUM$="ON " : CL=207 ELSE DUM$="OFF" : CL=202
  688. 34550     LOCATE  5,WY : PRINT DUM$;" 整理済のファイルからIDで発言収集";DF$(46)
  689. 34600       X=5:     M=3 :C=CL: GOSUB *ボックス
  690. 34650       X=9:     M=66:      GOSUB *ボックス
  691. 34700    RETURN
  692. 34750 *SW17
  693. 34800       X=5:Y=WY:M=3:       GOSUB *ボックス_P
  694. 34850       X=9:     M=66:      GOSUB *ボックス_P
  695. 34900     IF Y_N_FLAG(17)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  696. 34950     LOCATE  5,WY : PRINT DUM$;" テンポラリファイルサイズ(無指定で10240KB)";DF$(17)
  697. 35000       X=5:     M=3 :C=CL: GOSUB *ボックス
  698. 35050       X=9:     M=66:      GOSUB *ボックス
  699. 35100     RETURN
  700. 35150 *SW36
  701. 35200       X=5:Y=WY:M=3:       GOSUB *ボックス_P 
  702. 35250       X=9:     M=66:      GOSUB *ボックス_P
  703. 35300     IF Y_N_FLAG(36)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  704. 35350     LOCATE  5,WY : PRINT DUM$;" ひとつのファイルサイズ(無指定で800KB)";DF$(36)
  705. 35400       X=5:     M=3 :C=CL: GOSUB *ボックス
  706. 35450       X=9:     M=66:      GOSUB *ボックス
  707. 35500     RETURN
  708. 35550 *SW27
  709. 35600       X=5:Y=WY:M=34:      GOSUB *ボックス_P
  710. 35650     IF Y_N_FLAG(27)=1 THEN CL=207 ELSE CL=202
  711. 35700     LOCATE  5,WY : PRINT "今日より古いファイルを削除/危険(~~)"
  712. 35750                      C=CL:GOSUB *ボックス
  713. 35800     RETURN
  714. 35850 *SW40
  715. 35900       X=41:Y=WY:M=34:      GOSUB *ボックス_P
  716. 35950     IF Y_N_FLAG(40)=1 THEN CL=207 ELSE CL=202
  717. 36000     LOCATE 41,WY : PRINT "- FFMHOB MES(  )の行を削除"
  718. 36050                      C=CL:GOSUB *ボックス
  719. 36100     RETURN
  720. 36150 *SW41
  721. 36200       X=5:Y=WY:M=34:      GOSUB *ボックス_P
  722. 36250     IF Y_N_FLAG(41)=1 THEN CL=207 ELSE CL=202
  723. 36300     LOCATE  5,WY : PRINT "削除した発言の表題を表示する"
  724. 36350                      C=CL:GOSUB *ボックス
  725. 36400     RETURN
  726. 36450 *SW28
  727. 36500       X=5:Y=WY:M=3:       GOSUB *ボックス_P 
  728. 36550       X=9:     M=66:      GOSUB *ボックス_P
  729. 36600     IF Y_N_FLAG(28)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  730. 36650     LOCATE  5,WY : PRINT DUM$;" 削除から除くファイル名(複数指定可)";DF$(28);
  731. 36700       X=5:     M=3 :C=CL: GOSUB *ボックス
  732. 36750       X=9:     M=66:      GOSUB *ボックス
  733. 36800     RETURN
  734. 36850 *SW33
  735. 36900       X=5:Y=WY:M=36:      GOSUB *ボックス_P
  736. 36950     IF Y_N_FLAG(33)=1 THEN CL=207 ELSE CL=202
  737. 37000     LOCATE  5,WY : PRINT "ログを入力ディレクトリ毎に凍結しながら実行";
  738. 37050                      C=CL:GOSUB *ボックス
  739. 37100     RETURN
  740. 37150 *SW43
  741. 37200       X=5:Y=WY:M=3:       GOSUB *ボックス_P 
  742. 37250       X=9:Y=WY:M=66:      GOSUB *ボックス_P
  743. 37300     IF Y_N_FLAG(43)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  744. 37350     LOCATE  5,WY : PRINT DUM$;" ファイルと会議室の対応ファイル(フルパスのファイル名)";DF$(43)
  745. 37400       X=5:     M=3 :C=CL: GOSUB *ボックス
  746. 37450       X=9:     M=66:      GOSUB *ボックス
  747. 37500     RETURN
  748. 37550 *SW42
  749. 37600       X=5:Y=WY:M=3:       GOSUB *ボックス_P 
  750. 37650       X=9:     M=66:      GOSUB *ボックス_P
  751. 37700     IF Y_N_FLAG(42)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  752. 37750     LOCATE  5,WY : PRINT DUM$;" データライブラリを別に整理:出力ドライブ:ディレクトリ";DF$(42);
  753. 37800       X=5:     M=3 :C=CL: GOSUB *ボックス
  754. 37850       X=9:     M=66:      GOSUB *ボックス
  755. 37900     RETURN
  756. 37950 *SW44
  757. 38000       X=5:Y=WY:M=36:      GOSUB *ボックス_P
  758. 38050     IF Y_N_FLAG(44)=1 THEN CL=207 ELSE CL=202
  759. 38100     LOCATE  5,WY : PRINT "CATLOG整理ファイルからインデックスを作る";
  760. 38150                      C=CL:GOSUB *ボックス
  761. 38200     RETURN
  762. 38250 *SW45
  763. 38300       X=43:Y=WY:M=32:      GOSUB *ボックス_P
  764. 38350     IF Y_N_FLAG(45)=1 THEN CL=207 ELSE CL=202
  765. 38400     LOCATE 43,WY : PRINT "ID/ハンドル対応ファイルを作る";
  766. 38450                      C=CL:GOSUB *ボックス
  767. 38500     RETURN
  768. 38550 *SW31
  769. 38600       X=43:Y=WY:M=32:      GOSUB *ボックス_P
  770. 38650     IF Y_N_FLAG(31)=1 THEN CL=207 ELSE CL=202
  771. 38700     LOCATE 43,WY : PRINT "ログ表示しながら実行する";
  772. 38750                      C=CL:GOSUB *ボックス
  773. 38800     RETURN
  774. 38850 *SW47
  775. 38900     IF DF$(47)=":1" THEN CE=207 : CQ=202 ELSE CE=202 : CQ=207
  776. 38950       X=5:Y=WY:M=3:       GOSUB *ボックス_P 
  777. 39000       X=34:    M=8 :      GOSUB *ボックス_P
  778. 39050       X=44:    M=8 :      GOSUB *ボックス_P
  779. 39100     IF Y_N_FLAG(47)=1 THEN DUM$="ON ":CL=207 ELSE DUM$="OFF":CL=202
  780. 39150     LOCATE  5,WY : PRINT DUM$;
  781. 39200     COLOR 6 : PRINT " FAPXのログ保存モード";
  782. 39250     COLOR 7 : PRINT " 圧縮なし  圧縮あり";
  783. 39300       X=5:     M=3 :C=CL: GOSUB *ボックス
  784. 39350       X=34:     M=8 :C=CE:GOSUB *ボックス
  785. 39400       X=44:     M=8 :C=CQ:GOSUB *ボックス
  786. 39450     RETURN
  787. 39500 *SW48
  788. 39550       X=5:Y=WY:M=34:       GOSUB *ボックス_P 
  789. 39600     IF Y_N_FLAG(48)=1 THEN CL=207 ELSE CL=202
  790. 39650     LOCATE  5,WY : PRINT " CATLOG整理ファイルを再度ソートし直す";
  791. 39700                      C=CL: GOSUB *ボックス
  792. 39750     RETURN
  793. 39800 *SW29
  794. 39850       X=45:Y=WY:M=24:      GOSUB *ボックス_P
  795. 39900     IF Y_N_FLAG(29)=1 THEN CL=207 ELSE CL=202
  796. 39950     LOCATE 45,WY : PRINT "削除発言は整理に含めない";
  797. 40000                      C=CL:GOSUB *ボックス
  798. 40050     RETURN
  799. 40100 '未サポート
  800. 40150 *SW11
  801. 40200 *SW12
  802. 40250 *SW34
  803. 40300 *SW49
  804. 40350 *SW51
  805. 40400 *SW52
  806. 40450 *SW53
  807. 40500 *SW54
  808. 40550 *SW55
  809. 40600 *SW56
  810. 40650 *SW57
  811. 40700 *SW58
  812. 40750 *SW59
  813. 40800 *SW60
  814. 40850    RETURN
  815. 40900 *ボックス:LINE (8*X-2,19*Y)-(8*X+8*M,19*Y+17),OR,%C,BF : RETURN
  816. 40950 *ボックス_P:LINE (8*X-2,19*Y)-(8*X+8*M,19*Y+17),PSET,%200,BF : RETURN
  817. 41000 STOP
  818. 41050 *更新処理
  819. 41100   KILL DF_FILE$
  820. 41150   OPEN DF_FILE$ FOR OUTPUT AS #1
  821. 41200   PRINT #1,";DEFGEN生成ファイル"
  822. 41250   IF DF_FILE$<>"..\CATLOG.DEF" THEN
  823. 41300       Y_N_FLAG(55)=0 : DF$(55)=":"+DF_FILE$
  824. 41350   ELSE
  825. 41400       Y_N_FLAG(55)=0
  826. 41450   ENDIF
  827. 41500   FOR I=0 TO 100
  828. 41550       IF Y_N_FLAG(I)<>-1 THEN
  829. 41600           IF Y_N_FLAG(I)>0 THEN
  830. 41650               IF LEFT$(DF$(I),1)=":" THEN
  831. 41700                   DUMMY$=TB$+CMD$(I)+DF$(I)+TB$+MES$(I)
  832. 41750               ELSE
  833. 41800                   DUMMY$=TB$+CMD$(I)+TB$+MES$(I)
  834. 41850               ENDIF
  835. 41900           ELSE
  836. 41950               IF LEFT$(DF$(I),1)=":" THEN
  837. 42000                   DUMMY$=";"+TB$+CMD$(I)+DF$(I)+TB$+MES$(I)
  838. 42050               ELSE
  839. 42100                   DUMMY$=";"+TB$+CMD$(I)+TB$+MES$(I)
  840. 42150               ENDIF
  841. 42200           ENDIF
  842. 42250           PRINT #1,DUMMY$
  843. 42300       ENDIF
  844. 42350   NEXT I
  845. 42400   CLOSE #1
  846. 42450   RETURN
  847. 42500 *中断処理
  848. 42550   IF DG_FLAG=0 THEN
  849. 42600       NAME DF_FILE0$ AS DF_FILE$
  850. 42650   ENDIF
  851. 42700   RETURN
  852. 42750 *元DEFチェック
  853. 42800   FOR I=0 TO DF_MAX
  854. 42850       IF LEFT$(MOT$(I),1)="-" THEN
  855. 42900            YES_NO_FLAG=1
  856. 42950            P0=INSTR(MOT$(I),":")
  857. 43000            P1=INSTR(MOT$(I),";")
  858. 43050            IF P1<>0 AND P1<P0 THEN P0=0
  859. 43100            IF P0<>0 THEN
  860. 43150                 C0$=LEFT$(MOT$(I),P0-1)
  861. 43200                 IF P1=0 THEN
  862. 43250                     C1$=RIGHT$(MOT$(I),LEN(MOT$(I))-P0+1)
  863. 43300                     C2$=""
  864. 43350                 ELSE
  865. 43400                     C1$=MID$(MOT$(I),P0,P1-P0)
  866. 43450                     C2$=RIGHT$(MOT$(I),LEN(MOT$(I))-P1+1)
  867. 43500                 ENDIF
  868. 43550            ELSE
  869. 43600                 C1$="yes"
  870. 43650                 IF P1=0 THEN
  871. 43700                     C0$=MOT$(I)
  872. 43750                     C2$=""
  873. 43800                 ELSE
  874. 43850                     C0$=LEFT$(MOT$(I),P1-1)
  875. 43900                     C2$=RIGHT$(MOT$(I),LEN(MOT$(I))-P1+1)
  876. 43950                 ENDIF
  877. 44000            ENDIF
  878. 44050       ELSE
  879. 44100           IF LEFT$(MOT$(I),1)=";"  AND MID$(MOT$(I),2,1)="-" THEN
  880. 44150                YES_NO_FLAG=0
  881. 44200                MOT$(I)=RIGHT$(MOT$(I),LEN(MOT$(I))-1)
  882. 44250                P0=INSTR(MOT$(I),":")
  883. 44300                P1=INSTR(MOT$(I),";")
  884. 44350                IF P1<>0 AND P1<P0 THEN P0=0
  885. 44400                IF P0<>0 THEN
  886. 44450                     C0$=LEFT$(MOT$(I),P0-1)
  887. 44500                     IF P1=0 THEN
  888. 44550                         C1$=RIGHT$(MOT$(I),LEN(MOT$(I))-P0+1)
  889. 44600                         C2$=""
  890. 44650                     ELSE
  891. 44700                         C1$=MID$(MOT$(I),P0,P1-P0)
  892. 44750                         C2$=RIGHT$(MOT$(I),LEN(MOT$(I))-P1+1)
  893. 44800                     ENDIF
  894. 44850                ELSE
  895. 44900                     C1$="no"
  896. 44950                     IF P1=0 THEN
  897. 45000                         C0$=RIGHT$(MOT$(I),LEN(MOT$(I))-1)
  898. 45050                         C2$=""
  899. 45100                     ELSE
  900. 45150                         C0$=LEFT$(MOT$(I),P1-1)
  901. 45200                         C2$=RIGHT$(MOT$(I),LEN(MOT$(I))-P1+1)
  902. 45250                     ENDIF
  903. 45300                ENDIF
  904. 45350           ENDIF
  905. 45400       ENDIF
  906. 45450       GOSUB *コマンド照合
  907. 45500 '    PRINT C0$,C1$,P0,P1 : PRINT CMD$(J),DF$(J),MES$(J):A$=INPUT$(1)
  908. 45550   NEXT I
  909. 45600   RETURN
  910. 45650 *コマンド照合
  911. 45700   J=0
  912. 45750   WHILE CMD$(J)<>C0$
  913. 45800       J=J+1
  914. 45850   WEND
  915. 45900 '  IF NOT(YES_NO_FLAG=0 AND Y_N_FLAG(J)=1) THEN
  916. 45950       DF$(J)=C1$
  917. 46000       Y_N_FLAG(J)=YES_NO_FLAG
  918. 46050 '  ENDIF
  919. 46100   RETURN
  920. 46150 *スイッチ拡張対策
  921. 46200   J=0
  922. 46250   WHILE Y_N_FLAG(J)<>-1
  923. 46300       J=J+1
  924. 46350   WEND
  925. 46400   LOCATE 18,23 : PRINT
  926. 46450   LOCATE 18,23 : PRINT USING "###番目に@を追加します";J,C0$;
  927. 46500   CMD$(J)=C0$ : DF$(J)=C1$ : MES$(J)=C2$ : Y_N_FLAG(J)=0
  928. 46550   LOCATE 5,18: PRINT "???番目に-Xxxx-Xxxxxを追加しますと下に表示された時には、DEFGENの"
  929. 46600   LOCATE 5,19: PRINT "サポートスイッチ以外のスイッチが元DEFにあった場合です。この場合でも元DEFに"
  930. 46650   LOCATE 5,20: PRINT "あったスイッチを新DEFにCOPYしますので、サポートするまではエディタで修正して"
  931. 46700   LOCATE 5,21: PRINT "という限定付きですが使用可能です。"
  932. 46750   RETURN
  933. 46800 *コマンドリストREAD
  934. 46850   I=0
  935. 46900   OPEN "DEFGEN_D.DAT" FOR INPUT AS #1
  936. 46950   WHILE NOT(EOF(1))
  937. 47000      INPUT #1,DUMMY$
  938. 47050      Y_N_FLAG(I)=VAL(DUMMY$)
  939. 47100      INPUT #1,CMD$(I),DF$(I),MES$(I)
  940. 47150      IF CMD$(I)="-I" THEN
  941. 47200          SWAP Y_N_FLAG(I),Y_N_FLAG(100):SWAP CMD$(I),CMD$(100)
  942. 47250          SWAP DF$(I),DF$(100)  :SWAP MES$(I),MES$(100)
  943. 47300      ELSE
  944. 47350          I=I+1
  945. 47400      ENDIF
  946. 47450   WEND
  947. 47500   CML_MAX=I-1
  948. 47550   CLOSE #1
  949. 47600   RETURN
  950. 47650 *元DEFファイル読み込み
  951. 47700   LOCATE 18,22 : PRINT "元DEFファイルを読み込んでいます";
  952. 47750   DG_FLAG=0
  953. 47800   OPEN DF_FILE$ FOR INPUT AS #1
  954. 47850   LINE INPUT #1,DUMMY$
  955. 47900   IF DUMMY$=";DEFGEN生成ファイル" THEN
  956. 47950       DG_FLAG=-1 : I=0
  957. 48000   ELSE
  958. 48050       IF LEFT$(DUMMY$,1)="-" THEN
  959. 48100           MOT$(0)=DUMMY$ : I=1
  960. 48150       ELSE
  961. 48200           IF LEFT$(MOT$(I),1)=";"  AND MID$(MOT$(I),2,1)="-" THEN
  962. 48250               MOT$(0)=DUMMY$ : I=1
  963. 48300           ENDIF
  964. 48350           I=0
  965. 48400       ENDIF
  966. 48450   ENDIF
  967. 48500   WHILE NOT(EOF(1))
  968. 48550       LINE INPUT #1,DUMMY$
  969. 48600       IF LEFT$(DUMMY$,1)="-" OR (LEFT$(DUMMY$,1)=";"  AND MID$(DUMMY$,2,1)="-") THEN
  970. 48650           A=INSTR(DUMMY$,"-")
  971. 48700           IF MID$(DUMMY$,A+1,1)>="A" AND MID$(DUMMY$,A+1,1)<="Z" THEN
  972. 48750               MOT$(I)=DUMMY$ : I=I+1
  973. 48800 ' PRINT DUMMY$ : A$=INPUT$(1)
  974. 48850           ENDIF
  975. 48900       ENDIF
  976. 48950   WEND
  977. 49000   DF_MAX=I-1
  978. 49050   CLOSE #1
  979. 49100   IF DG_FLAG=0 THEN
  980. 49150       NAME DF_FILE$ AS DF_FILE0$+"DF0"
  981. 49200    '  NAME DF_FILE0$ AS df_file$
  982. 49250   ENDIF
  983. 49300   GOSUB *元DEFチェック
  984. 49350   RETURN
  985. 49400 *元DEFなし
  986. 49450   RETURN
  987. 49500 *強制サポートセット
  988. 49550   Y_N_FLAG(1)=1
  989. 49600   Y_N_FLAG(2)=1
  990. 49650   Y_N_FLAG(100)=1
  991. 49700   Y_N_FLAG(47)=0
  992. 49750   RETURN
  993. 49800 *開始画面設定
  994. 49850   CLS
  995. 49900   PLAY ON
  996. 49950   PLAY "@51T180C8DE2DC8.R16C8DEDC8D2"
  997. 50000   PLAY "@15"
  998. 50050   PAGE=1
  999. 50100   LOCATE 0,0
  1000. 50150   PRINT " CATLOG小判鮫ソフト(^^;) DEF GENERATOR";VER$;" PED00201 JINX"
  1001. 50200   LINE (0,0)-(639,19),OR,%201,BF
  1002. 50250   LOCATE 0,2
  1003. 50300   PRINT "このソフトはCATLOG.DEFをとりあえず使える状態にセットアップするものです。"
  1004. 50350   PRINT "山先さんから本家DEF設定プログラムが発表されるまでのつなぎですので、エディタを"
  1005. 50400   PRINT "自由に使えるスキルの持ち主には無用の物です。"
  1006. 50450   PRINT "選択肢の用意されている項目は、マウスで希望の側を左クリックしてください。"
  1007. 50500   PRINT "ファイル名を指定する必要のある項目では入力域にマウスを移動し左クリック後、"
  1008. 50550   PRINT "キーボードからドライブ名:ディレクトリ名を入力してください。"
  1009. 50600   COLOR 5,,,4
  1010. 50650   LOCATE 3,9 : PRINT "☆★設定画面のルール(^^)/~"
  1011. 50700   COLOR 7,,,0
  1012. 50750   LOCATE 5,10: PRINT "必須設定項目を示します。この設定抜きにはCATLOGは動きません。"
  1013. 50800       X=5:Y=10:M=70:C=205:GOSUB *ボックス
  1014. 50850   LOCATE 5,11: PRINT "設定した方が望ましい項目を示します。"
  1015. 50900       X=5:Y=11:M=70:C=206:GOSUB *ボックス
  1016. 50950   LOCATE 7,12: PRINT "OFFにした場合にはCATLOGの初期値(カレントディレクトリ等)になります"
  1017. 51000       X=7:Y=12:M=56:C=206:GOSUB *ボックス
  1018. 51050   LOCATE 5,13: PRINT "選択した時にこの色になります。"
  1019. 51100       X=5:Y=13:M=70:C=207:GOSUB *ボックス
  1020. 51150   LOCATE 5,14: PRINT "選択されてない場合の表示色です。"
  1021. 51200       X=5:Y=14:M=70:C=202:GOSUB *ボックス
  1022. 51250   LOCATE 5,15: PRINT "更新して終了 更新せずに終了 のいずれかを左クリックで終了します。"
  1023. 51300       X=5:Y=15:M=12:C=203:GOSUB *ボックス
  1024. 51350       X=18:Y=15:M=14:C=204:GOSUB *ボックス
  1025. 51400   LOCATE 5,16: PRINT "また右クリックは 更新せずに終了 を左クリックと同じ動きとなります。"
  1026. 51450       X=18:Y=16:M=14:C=204:GOSUB *ボックス
  1027. 51500   FOR I=0 TO 100 : Y_N_FLAG(I)=-1 : NEXT I
  1028. 51550   RETURN
  1029. 51600 *パレット設定
  1030. 51650   OPEN "DEFGENPT.DAT" FOR INPUT AS #1
  1031. 51700   I=200
  1032. 51750   WHILE NOT(EOF(1))
  1033. 51800       LINE INPUT #1,DUMMY$
  1034. 51850       IF LEFT$(DUMMY$,1)<>";" THEN
  1035. 51900           POI1=INSTR(DUMMY$,","):POI2=INSTR(POI1+1,DUMMY$,","):POI3=INSTR(POI2+1,DUMMY$,",")
  1036. 51950           GREEN=VAL(LEFT$(DUMMY$,POI1-1))
  1037. 52000           RED=VAL(MID$(DUMMY$,POI1+1,POI2-POI1-1))
  1038. 52050           BLUE=VAL(MID$(DUMMY$,POI2+1,POI3-POI2-1))
  1039. 52100           PALETTE I,[GREEN,RED,BLUE]
  1040. 52150           I=I+1
  1041. 52200        ENDIF
  1042. 52250   WEND
  1043. 52300   CLOSE #1
  1044. 52350   RETURN
  1045. 52400 *QUICK_SORT
  1046. 52450   FOR I=0 TO 100
  1047. 52500       JUN(I)=I : CMD_W$(I)=CMD$(I)
  1048. 52550   NEXT I
  1049. 52600   N=100
  1050. 52650   M=12
  1051. 52700   DIM SL(M),SR(M)
  1052. 52750   S=1 : SL(1)=0 : SR(1)=N
  1053. 52800   L=SL(S) : R=SR(S) : S=S-1
  1054. 52850   I=L : J=R : X$=CMD_W$(INT((L+R)/2))
  1055. 52900   IF CMD_W$(I)<X$ THEN I=I+1 : GOTO 52900
  1056. 52950   IF X$<CMD_W$(J) THEN J=J-1 : GOTO 52950
  1057. 53000   IF I<=J THEN SWAP CMD_W$(I),CMD_W$(J) : SWAP JUN(I),JUN(J) : I=I+1 : J=J-1
  1058. 53050   IF I<=J THEN 52900
  1059. 53100   IF I<R THEN S=S+1 : SL(S)=I : SR(S)=R
  1060. 53150   R=J
  1061. 53200   IF L<R THEN 52850
  1062. 53250   IF S<>0 THEN 52800
  1063. 53300   ERASE SL,SR
  1064. 53350 '  FOR I=0 TO 100:PRINT CMD_W$(I):A$=INPUT$(1):NEXT I
  1065. 53400   RETURN
  1066. 53450 *設定不良
  1067. 53500   COLOR 7,0,7,0 : CLS
  1068. 53550   PRINT "DEFGENのプログラムのあるディレクトリに正しく設定してから再起動してください"
  1069. 53600   PRINT : PRINT "プログラムは中断しました      <何かキーを押して下さい>"
  1070. 53650   A$=INPUT$(1)
  1071. 53700   STOP
  1072. 53750 *パラメタリード
  1073. 53800   DEF FNARGC& = PEEK(PEEK(VARPTR(SYSTEM,6) - 8,4),4)
  1074. 53850   DEF FNARGV& = PEEK(PEEK(VARPTR(SYSTEM,6) - 8,4) - 4,4)
  1075. 53900   DIM ARGVS$(10)   '読み出すパラメータの文字列
  1076. 53950   ARGC& = FNARGC&
  1077. 54000   IF ARGC& < 1 THEN PRINT "noting":END
  1078. 54050   ARGV& = FNARGV&
  1079. 54100   I=ARGC&-1
  1080. 54150   ARGVX& = PEEK((ARGV&+I*4),4)
  1081. 54200   ARGVS$(I) = ""
  1082. 54250   M& = 1
  1083. 54300   WHILE (M& <> 0)
  1084. 54350       M& = PEEK((ARGVX&),1)
  1085. 54400       ARGVS$(I) = ARGVS$(I)+CHR$(M&):ARGVX&=ARGVX&+1
  1086. 54450   WEND
  1087. 54500   IF LEFT$(ARGVS$(I),3)="-f:" THEN
  1088. 54550       DF_FILE$=RIGHT$(ARGVS$(I),LEN(ARGVS$(I))-3)
  1089. 54600       DF_FILE$=LEFT$(DF_FILE$,LEN(DF_FILE$)-1)
  1090. 54650       A=INSTR(DF_FILE$,".")
  1091. 54700       DF_FILE0$=LEFT$(DF_FILE$,A)+"DF0"
  1092. 54750   ELSE
  1093. 54800       DF_FILE$="..\CATLOG.DEF"
  1094. 54850       DF_FILE0$="..\CATLOG.DF0"
  1095. 54900   ENDIF
  1096. 54950   COLOR 6
  1097. 55000   LOCATE 7,17: PRINT USING "※現在の編集対象は@です。";DF_FILE$;
  1098. 55050   COLOR 7
  1099. 55100   RETURN
  1100. 55150 *エラーやで
  1101. 55200   IF ERR=63 AND ERL=47800 THEN RESUME *元DEFなし
  1102. 55250   IF ERR=63 AND ERL=41100 THEN RESUME NEXT
  1103. 55300   IF ERR=63 AND ERL=42600 THEN RESUME NEXT
  1104. 55350   IF ERR=9 AND ERL=45750 THEN RESUME *スイッチ拡張対策
  1105. 55400   IF ERR=9 AND ERL=45850 THEN RESUME *スイッチ拡張対策
  1106. 55450   IF ERR=54 AND ERL=22700 THEN RESUME 23250
  1107. 55500   IF ERR=63 AND ERL=46900 THEN
  1108. 55550        BEEP : CLS
  1109. 55600        PRINT "DEFGEN_D.DAT(スイッチデータファイル)がありません。"
  1110. 55650        RESUME *設定不良
  1111. 55700   ENDIF
  1112. 55750   IF ERR=63 AND ERL=51650 THEN
  1113. 55800        BEEP : CLS
  1114. 55850        PRINT "DEFGENPT.DAT(パレット設定ファイル)がありません。"
  1115. 55900        RESUME *設定不良
  1116. 55950   ENDIF
  1117. 56000   PRINT USING "ERR=#######    ERL=########";ERR,ERL
  1118. 56050   STOP
  1119.